package cn.wolfcode.crm.service;

import cn.wolfcode.crm.domain.Permission;
import cn.wolfcode.crm.query.QueryObject;
import cn.wolfcode.crm.util.PageResult;

import java.util.List;

/**
 * @author 丧彪
 */
public interface IPermissionService {
    /**
     * 通过角色id, 加载角色权限
     *
     * @param roleId
     * @return
     */
    List<Permission> queryPermissionByRoleId(Long roleId);

    /**
     * 权限列表加载
     */
    void reload();

    /**
     * 保存权限
     */
    void save(Permission entity);

    /**
     * 权限列表
     */
    List<Permission> list();

    /**
     * 分页
     */
    PageResult query(QueryObject qo);

    /**
     * 通过员工id查询权限表达式
     */
    List<String> getPermissionResourceByEmpId(Long id);
}
